package com.jdzy.student.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.jdzy.model.common.vos.Result;
import com.jdzy.model.student.dtos.StudentDto;
import com.jdzy.model.student.dtos.StudentLoginDto;
import com.jdzy.model.student.pojos.Student;
import org.springframework.transaction.annotation.Transactional;
import com.jdzy.model.student.vos.CaptchaVo;

public interface StudentService extends IService<Student> {
    /**
     * 根据学号stuId获取学生信息
     * @param stuId
     * @return
     */
    @Transactional
    Result getStudentByStuId(String stuId);

    /**
     * 注册学生信息
     * @return
     */
    @Transactional
    Result saveStudent(StudentDto studentDto);

    /**
     * 根据学号修改学生信息
     * @param studentDto
     * @return
     */
    Result updateStudentByStuId(StudentDto studentDto);

    /**
     * 用户登录操作
     * @param studentLoginDto
     * @return
     */
    Result studentLogin(StudentLoginDto studentLoginDto);

    /**
     * 根据token获取学生信息
     * @param token
     * @return
     */
    Result getStudentInfo(String token);

    CaptchaVo getCaptcha();

    void updateAvatar(String stuId, String url);
}
